import Singlelon from '../Common/Singlelon';
import DataBaseMgr from './DataBaseMgr';
const { ccclass, property } = cc._decorator;

@ccclass
export default class DataMgr extends Singlelon<DataMgr>() {
    //管理所有数据的管理者

    //用来存储所有管理者的容器
    private _mapMgr: Map<string, DataBaseMgr> = new Map();

    //添加数据的管理者
    addMgr(mgrName: string, mgr: DataBaseMgr) {
        if (!mgrName || mgrName.length <= 0 || !mgr) {
            return;
        }
        this._mapMgr.set(mgrName, mgr);
    }


    //获取数据管理者,并且管理的是对应的数据
    getMgr<T extends DataBaseMgr>(mgrName: string): T {
        if (!mgrName || mgrName.length <= 0) {
            return null;
        }
        return <T>this._mapMgr.get(mgrName);
    }

}


